
//给定一个以字符串表示的非负整数 num，移除这个数中的 k 位数字，使得剩下的数字最小。
public class 移掉k位数字 {
    public static void main(String[] args) {
        String num="100213";
        String s = removeKdigits(num, 1);
        System.out.println(s);
    }
    //思路：  从左到右，找到第一个比前一个大的数，删除，重复n次
    public static String removeKdigits(String num, int k) {
        if (num.length() == k)
            return "0";
        StringBuilder s = new StringBuilder(num);
        for (int i = 0; i < k; i++) {
            int idx = 0;
            //不满足条件就不赋值
            for (int j = 1; j < s.length() && s.charAt(j) >= s.charAt(j - 1); j++)
                idx = j;
            System.out.println("idx为"+idx);
            s.delete(idx, idx + 1);
            while (s.length() > 1 && s.charAt(0) == '0')
                s.delete(0, 1);
        }
        return s.toString();
    }
}
